package com.lyf.scm.common.enums;

import java.util.ArrayList;
import java.util.List;

/**
 * description:
 *          需求计划指标枚举
 * @author: haodong
 * @data: 2020/8/7 19:41
 */
public enum RequirementPlanTargetEnum {

//    /**
//     * 销售计划金额
//     */
//    SALES_PLAN_AMOUNT("sales_plan_amount","销售计划金额"),
//    /**
//     * 预测计划金额
//     */
//    FORECAST_PLAN_AMOUNT("forecast_plan_amount","预测计划金额"),
    /**
     * 销售计划量
     */
    SALES_PLAN_QTY("sales_plan_qty","销售计划量"),
    /**
     * 预测计划量
     */
    FORECAST_PLAN_QTY("forecast_plan_qty","预测计划量"),
    /**
     * 安全库存量
     */
    SAFETY_STOCK_QTY("safety_stock_qty","安全库存量"),
    /**
     * 本次供应链确认量
     */
    SUPPLY_CHAIN_CONFIRMATION_QTY("supply_chain_confirmation_qty","本次供应链确认量"),
    /**
     * 本次销售计划确认量
     */
    SALE_PLAN_CONFIRMATION_QTY("sale_plan_confirmation_qty","本次销售计划确认量"),
    /**
     * 上次供应链确认量
     */
    LAST_CONFIRM_QTY("last_confirm_qty","上次供应链确认量"),

    /**
     * 上次销售计划确认量
     */
    LAST_SALE_PLAN_CONFIRM_QTY("last_sale_plan_confirm_qty","上次销售计划确认量"),
    /**
     * 预约在途采购量
     */
    RESERVE_PURCHASE_QTY("reserve_purchase_qty","预约在途采购量"),
    /**
     * 实际销量
     */
    ACTUAL_SALES_QTY("actual_sales_qty","实际销量"),
    /**
     * 未履约采购量
     */
    NO_FULFIL_PURCHASE_QTY("no_fulfil_purchase_qty","未履约采购量"),
    /**
     * 实时库存
     */
    REAL_TIME_INVENTORY("real_time_inventory","实时库存");

    private String columns;
    private String desc;

    RequirementPlanTargetEnum(String columns, String desc) {
        this.columns = columns;
        this.desc = desc;
    }

    /**
     * 指标的枚举顺序为excel导出时候指标的顺序
     *
     * @param
     * @return {@link List <String>}
     **/
    public static List<String> getAllTargetsDesc() {
        List<String> targetsDesc = new ArrayList<>();
        for (RequirementPlanTargetEnum item : RequirementPlanTargetEnum.values()) {
            targetsDesc.add(item.getDesc());
        }
        return targetsDesc;
    }

    public String getColumns() {
        return columns;
    }

    public void setColumns(String columns) {
        this.columns = columns;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}
